package cn.dglydrpy.study.algorithm.od;

import java.util.Scanner;

/**
 * @author Yyy
 * @date 2024/11/10 18:47
 * @description
 * 孙悟空在天兵天将离开的 H 小时内偷吃 N 棵蟠桃树的桃子，每棵树有 N [i] 个桃子，他每小时选一棵树吃 K 个桃子（若树上桃子数小于 K 则吃完剩余所有），
 * 求能在 H 小时内吃完所有桃子的最小速度 K（K 为整数）。
 输入：
3 25 6 7 8
 输出：
 7
 */
public class Od0040_EatPeach {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextLine()){
            String[] s = scanner.nextLine().split(" ");
            int[] arr = new int[s.length-1];
            for(int i=0;i<arr.length;i++){
                arr[i] = Integer.valueOf(s[i]);
            }
            
            int h = Integer.valueOf(s[s.length-1]);
            
            int ans = myAnswer(arr,h);
            System.out.println(ans);
        }
        
        
    }

    private static int myAnswer(int[] arr, int h) {
        
        int sum = 0;
        for(int a : arr){
            sum += a;
        }
        
        int ans = (sum +(h-1))/h; // 向上取整
        System.out.println("初始猜测：" + ans);
        
        // 尝试
        while(true){
            int h1 = 0;
            for(int i=0;i<arr.length;i++){
                h1 += ((arr[i] / ans) + (arr[i] % ans == 0 ? 0:1));
//                System.out.println(h1);
            }
            if(h >= h1){
                return ans;
            }else{
                ans ++; 
            }
        }
        
    }
}
